<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<html><head>
<title>Static Call Graph - [.\Objects\led_c.axf]</title></head>
<body><HR>
<H1>Static Call Graph for image .\Objects\led_c.axf</H1><HR>
<BR><P>#&#060CALLGRAPH&#062# ARM Linker, 5060061: Last Updated: Thu Jul 03 22:07:15 2025
<BR><P>
<H3>Maximum Stack Usage =         56 bytes + Unknown(Untraceable Function Pointers)</H3><H3>
Call chain for Maximum Stack Depth:</H3>
UsageFault_Handler_asm &rArr; UsageFault_Handler &rArr; put_s_hex &rArr; puthex &rArr; puts
<P>
<H3>
Function Pointers
</H3><UL>
 <LI><a href="#[1]">HardFault_Handler</a> from exception.o(i.HardFault_Handler) referenced from start.o(RESET)
 <LI><a href="#[0]">Reset_Handler</a> from start.o(.text) referenced from start.o(RESET)
 <LI><a href="#[3]">SVC_Handler</a> from exception.o(i.SVC_Handler) referenced from start.o(RESET)
 <LI><a href="#[2]">UsageFault_Handler_asm</a> from start.o(.text) referenced from start.o(RESET)
 <LI><a href="#[5]">mymain</a> from main.o(i.mymain) referenced from start.o(.text)
 <LI><a href="#[6]">put_s_hex</a> from string.o(i.put_s_hex) referenced from main.o(i.mymain)
 <LI><a href="#[4]">systick_handle_asm</a> from start.o(.text) referenced from start.o(RESET)
 <LI><a href="#[7]">task_a</a> from main.o(i.task_a) referenced from main.o(i.mymain)
</UL>
<P>
<H3>
Global Symbols
</H3>
<P><STRONG><a name="[0]"></a>Reset_Handler</STRONG> (Thumb, 58 bytes, Stack size 0 bytes, start.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 16<LI>Call Chain = Reset_Handler &rArr; SystemInit &rArr; __aeabi_memcpy4
</UL>
<BR>[Calls]<UL><LI><a href="#[9]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;uart_init
<LI><a href="#[a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;UsageFaultInit
<LI><a href="#[8]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SystemInit
<LI><a href="#[b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SysTickInit
<LI><a href="#[c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;LedInit
</UL>
<BR>[Address Reference Count : 1]<UL><LI> start.o(RESET)
</UL>
<P><STRONG><a name="[12]"></a>start_task_asm</STRONG> (Thumb, 10 bytes, Stack size 0 bytes, start.o(.text))
<BR><BR>[Called By]<UL><LI><a href="#[e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SysTick_Handler
</UL>

<P><STRONG><a name="[15]"></a>__aeabi_memcpy4</STRONG> (Thumb, 0 bytes, Stack size 8 bytes, rt_memcpy_w.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 8<LI>Call Chain = __aeabi_memcpy4
</UL>
<BR>[Called By]<UL><LI><a href="#[8]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SystemInit
</UL>

<P><STRONG><a name="[1c]"></a>__aeabi_memcpy8</STRONG> (Thumb, 0 bytes, Stack size 8 bytes, rt_memcpy_w.o(.text), UNUSED)

<P><STRONG><a name="[1d]"></a>__rt_memcpy_w</STRONG> (Thumb, 100 bytes, Stack size 8 bytes, rt_memcpy_w.o(.text), UNUSED)

<P><STRONG><a name="[1e]"></a>_memcpy_lastbytes_aligned</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, rt_memcpy_w.o(.text), UNUSED)

<P><STRONG><a name="[16]"></a>__aeabi_memclr4</STRONG> (Thumb, 0 bytes, Stack size 4 bytes, rt_memclr_w.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 4<LI>Call Chain = __aeabi_memclr4
</UL>
<BR>[Called By]<UL><LI><a href="#[8]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SystemInit
</UL>

<P><STRONG><a name="[1f]"></a>__aeabi_memclr8</STRONG> (Thumb, 0 bytes, Stack size 4 bytes, rt_memclr_w.o(.text), UNUSED)

<P><STRONG><a name="[20]"></a>__rt_memclr_w</STRONG> (Thumb, 78 bytes, Stack size 4 bytes, rt_memclr_w.o(.text), UNUSED)

<P><STRONG><a name="[21]"></a>_memset_w</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, rt_memclr_w.o(.text), UNUSED)

<P><STRONG><a name="[1]"></a>HardFault_Handler</STRONG> (Thumb, 10 bytes, Stack size 0 bytes, exception.o(i.HardFault_Handler))
<BR><BR>[Stack]<UL><LI>Max Depth = 8<LI>Call Chain = HardFault_Handler &rArr; puts
</UL>
<BR>[Calls]<UL><LI><a href="#[f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;puts
</UL>
<BR>[Address Reference Count : 1]<UL><LI> start.o(RESET)
</UL>
<P><STRONG><a name="[22]"></a>LedCtrl</STRONG> (Thumb, 26 bytes, Stack size 0 bytes, led.o(i.LedCtrl), UNUSED)

<P><STRONG><a name="[c]"></a>LedInit</STRONG> (Thumb, 22 bytes, Stack size 0 bytes, led.o(i.LedInit))
<BR><BR>[Called By]<UL><LI><a href="#[0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Reset_Handler
</UL>

<P><STRONG><a name="[3]"></a>SVC_Handler</STRONG> (Thumb, 10 bytes, Stack size 8 bytes, exception.o(i.SVC_Handler))
<BR><BR>[Stack]<UL><LI>Max Depth = 16<LI>Call Chain = SVC_Handler &rArr; puts
</UL>
<BR>[Calls]<UL><LI><a href="#[f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;puts
</UL>
<BR>[Address Reference Count : 1]<UL><LI> start.o(RESET)
</UL>
<P><STRONG><a name="[b]"></a>SysTickInit</STRONG> (Thumb, 14 bytes, Stack size 0 bytes, systick.o(i.SysTickInit))
<BR><BR>[Called By]<UL><LI><a href="#[0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Reset_Handler
</UL>

<P><STRONG><a name="[e]"></a>SysTick_Handler</STRONG> (Thumb, 112 bytes, Stack size 32 bytes, systick.o(i.SysTick_Handler))
<BR><BR>[Stack]<UL><LI>Max Depth = 32<LI>Call Chain = SysTick_Handler
</UL>
<BR>[Calls]<UL><LI><a href="#[14]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;set_task_stack
<LI><a href="#[10]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;is_task_runing
<LI><a href="#[11]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;get_stack
<LI><a href="#[13]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;get_next_task
<LI><a href="#[12]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;start_task_asm
</UL>
<BR>[Called By]<UL><LI><a href="#[4]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;systick_handle_asm
</UL>

<P><STRONG><a name="[8]"></a>SystemInit</STRONG> (Thumb, 40 bytes, Stack size 8 bytes, init.o(i.SystemInit))
<BR><BR>[Stack]<UL><LI>Max Depth = 16<LI>Call Chain = SystemInit &rArr; __aeabi_memcpy4
</UL>
<BR>[Calls]<UL><LI><a href="#[16]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_memclr4
<LI><a href="#[15]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_memcpy4
</UL>
<BR>[Called By]<UL><LI><a href="#[0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Reset_Handler
</UL>

<P><STRONG><a name="[a]"></a>UsageFaultInit</STRONG> (Thumb, 12 bytes, Stack size 0 bytes, exception.o(i.UsageFaultInit))
<BR><BR>[Called By]<UL><LI><a href="#[0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Reset_Handler
</UL>

<P><STRONG><a name="[d]"></a>UsageFault_Handler</STRONG> (Thumb, 88 bytes, Stack size 16 bytes, exception.o(i.UsageFault_Handler))
<BR><BR>[Stack]<UL><LI>Max Depth = 56<LI>Call Chain = UsageFault_Handler &rArr; put_s_hex &rArr; puthex &rArr; puts
</UL>
<BR>[Calls]<UL><LI><a href="#[f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;puts
<LI><a href="#[6]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;put_s_hex
</UL>
<BR>[Called By]<UL><LI><a href="#[2]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;UsageFault_Handler_asm
</UL>

<P><STRONG><a name="[19]"></a>creat_task</STRONG> (Thumb, 66 bytes, Stack size 20 bytes, task.o(i.creat_task))
<BR><BR>[Stack]<UL><LI>Max Depth = 20<LI>Call Chain = creat_task
</UL>
<BR>[Called By]<UL><LI><a href="#[5]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mymain
</UL>

<P><STRONG><a name="[17]"></a>delay</STRONG> (Thumb, 16 bytes, Stack size 8 bytes, main.o(i.delay))
<BR><BR>[Stack]<UL><LI>Max Depth = 8<LI>Call Chain = delay
</UL>
<BR>[Called By]<UL><LI><a href="#[5]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mymain
</UL>

<P><STRONG><a name="[13]"></a>get_next_task</STRONG> (Thumb, 18 bytes, Stack size 0 bytes, task.o(i.get_next_task))
<BR><BR>[Called By]<UL><LI><a href="#[e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SysTick_Handler
</UL>

<P><STRONG><a name="[11]"></a>get_stack</STRONG> (Thumb, 10 bytes, Stack size 0 bytes, task.o(i.get_stack))
<BR><BR>[Called By]<UL><LI><a href="#[e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SysTick_Handler
</UL>

<P><STRONG><a name="[23]"></a>getchar</STRONG> (Thumb, 18 bytes, Stack size 0 bytes, uart.o(i.getchar), UNUSED)

<P><STRONG><a name="[10]"></a>is_task_runing</STRONG> (Thumb, 6 bytes, Stack size 0 bytes, task.o(i.is_task_runing))
<BR><BR>[Called By]<UL><LI><a href="#[e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SysTick_Handler
</UL>

<P><STRONG><a name="[24]"></a>memcpy</STRONG> (Thumb, 26 bytes, Stack size 16 bytes, string.o(i.memcpy), UNUSED)

<P><STRONG><a name="[25]"></a>memset</STRONG> (Thumb, 20 bytes, Stack size 12 bytes, string.o(i.memset), UNUSED)

<P><STRONG><a name="[5]"></a>mymain</STRONG> (Thumb, 166 bytes, Stack size 8 bytes, main.o(i.mymain))
<BR><BR>[Stack]<UL><LI>Max Depth = 48<LI>Call Chain = mymain &rArr; put_s_hex &rArr; puthex &rArr; puts
</UL>
<BR>[Calls]<UL><LI><a href="#[1a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;start_task
<LI><a href="#[18]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;putchar
<LI><a href="#[6]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;put_s_hex
<LI><a href="#[19]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;creat_task
<LI><a href="#[17]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;delay
</UL>
<BR>[Address Reference Count : 1]<UL><LI> start.o(.text)
</UL>
<P><STRONG><a name="[6]"></a>put_s_hex</STRONG> (Thumb, 26 bytes, Stack size 16 bytes, string.o(i.put_s_hex))
<BR><BR>[Stack]<UL><LI>Max Depth = 40<LI>Call Chain = put_s_hex &rArr; puthex &rArr; puts
</UL>
<BR>[Calls]<UL><LI><a href="#[f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;puts
<LI><a href="#[1b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;puthex
</UL>
<BR>[Called By]<UL><LI><a href="#[d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;UsageFault_Handler
<LI><a href="#[5]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mymain
</UL>
<BR>[Address Reference Count : 1]<UL><LI> main.o(i.mymain)
</UL>
<P><STRONG><a name="[18]"></a>putchar</STRONG> (Thumb, 18 bytes, Stack size 0 bytes, uart.o(i.putchar))
<BR><BR>[Called By]<UL><LI><a href="#[f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;puts
<LI><a href="#[1b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;puthex
<LI><a href="#[7]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;task_a
<LI><a href="#[5]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mymain
</UL>

<P><STRONG><a name="[1b]"></a>puthex</STRONG> (Thumb, 62 bytes, Stack size 16 bytes, string.o(i.puthex))
<BR><BR>[Stack]<UL><LI>Max Depth = 24<LI>Call Chain = puthex &rArr; puts
</UL>
<BR>[Calls]<UL><LI><a href="#[f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;puts
<LI><a href="#[18]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;putchar
</UL>
<BR>[Called By]<UL><LI><a href="#[6]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;put_s_hex
</UL>

<P><STRONG><a name="[f]"></a>puts</STRONG> (Thumb, 22 bytes, Stack size 8 bytes, string.o(i.puts))
<BR><BR>[Stack]<UL><LI>Max Depth = 8<LI>Call Chain = puts
</UL>
<BR>[Calls]<UL><LI><a href="#[18]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;putchar
</UL>
<BR>[Called By]<UL><LI><a href="#[1b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;puthex
<LI><a href="#[d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;UsageFault_Handler
<LI><a href="#[3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SVC_Handler
<LI><a href="#[1]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HardFault_Handler
<LI><a href="#[6]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;put_s_hex
</UL>

<P><STRONG><a name="[14]"></a>set_task_stack</STRONG> (Thumb, 8 bytes, Stack size 0 bytes, task.o(i.set_task_stack))
<BR><BR>[Called By]<UL><LI><a href="#[e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SysTick_Handler
</UL>

<P><STRONG><a name="[1a]"></a>start_task</STRONG> (Thumb, 10 bytes, Stack size 0 bytes, task.o(i.start_task))
<BR><BR>[Called By]<UL><LI><a href="#[5]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mymain
</UL>

<P><STRONG><a name="[7]"></a>task_a</STRONG> (Thumb, 14 bytes, Stack size 0 bytes, main.o(i.task_a))
<BR><BR>[Calls]<UL><LI><a href="#[18]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;putchar
</UL>
<BR>[Address Reference Count : 1]<UL><LI> main.o(i.mymain)
</UL>
<P><STRONG><a name="[9]"></a>uart_init</STRONG> (Thumb, 68 bytes, Stack size 0 bytes, uart.o(i.uart_init))
<BR><BR>[Called By]<UL><LI><a href="#[0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Reset_Handler
</UL>
<P>
<H3>
Local Symbols
</H3>
<P><STRONG><a name="[2]"></a>UsageFault_Handler_asm</STRONG> (Thumb, 6 bytes, Stack size 0 bytes, start.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 56<LI>Call Chain = UsageFault_Handler_asm &rArr; UsageFault_Handler &rArr; put_s_hex &rArr; puthex &rArr; puts
</UL>
<BR>[Calls]<UL><LI><a href="#[d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;UsageFault_Handler
</UL>
<BR>[Address Reference Count : 1]<UL><LI> start.o(RESET)
</UL>
<P><STRONG><a name="[4]"></a>systick_handle_asm</STRONG> (Thumb, 22 bytes, Stack size 0 bytes, start.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 32<LI>Call Chain = systick_handle_asm &rArr; SysTick_Handler
</UL>
<BR>[Calls]<UL><LI><a href="#[e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SysTick_Handler
</UL>
<BR>[Address Reference Count : 1]<UL><LI> start.o(RESET)
</UL><P>
<H3>
Undefined Global Symbols
</H3><HR></body></html>
